home *** CD-ROM | disk | FTP | other *** search
/ InterCD 1999 July / july_1999.iso / Site Building / XML Spy / xmlspy25.exe / Main / gra_dtd.txt < prev    next >
Encoding:
Text File  |  1999-06-27  |  7.1 KB  |  79 lines

  1. extSubset        ::= xmlDecl? extSubsetDecl                                                    >DTD Document
  2. xmlDecl$        ::=    '<?xml' versionInfo? encodingDecl S? '?>'                            >XML Declaration (<?xml...?>)
  3. versionInfo$    ::= S 'version' Eq ( ( '"' VersionNum '"' ) | ( "'" VersionNum "'" ) )    >Version Info (version="1.0")
  4. VersionNum        ::= ([a-zA-Z0-9_.:] | '-')+                                                >Version Number (1.0)
  5. encodingDecl$    ::= S 'encoding' Eq ( ( '"' EncName '"' ) | ( "'" EncName "'" ) )        >Encoding Declaration (encoding="...")
  6. EncName            ::= [A-Za-z] ([A-Za-z0-9._] | '-')*                                        >Encoding Name (UTF-8, ISO-8859-1, etc)
  7. extSubsetDecl    ::= (markupdecl | DocTypeText | S)+                                        >Markup Declaration or Parameter-entity Reference
  8. DocTypeText        ::= PEReference+ | conditionalSect                                        >Parameter-entity Reference or Conditional Section
  9. markupdecl        ::=    elementdecl | attlistDecl | entityDecl | notationDecl | pi | comment    >Declaration for Element, Attribute List, Entity, or Notation
  10. Eq!                ::=    S? '=' S?                                                            >Equal sign ('=')
  11. elementdecl$    ::= '<!ELEMENT' S ElementDeclName S ContentSpec S? '>'                    >Element Declaration (<!ELEMENT...>)
  12. ElementDeclName    ::= NameOrPERef                                                            >Element Name
  13. ContentSpec        ::= 'EMPTY' | 'ANY' | Mixed | children | PEReference                    >Element Content Specification ('EMPTY' | 'ANY' | Mixed | Children | PEReference)
  14. children        ::= (choice | seq) ('?' | '*' | '+')?                                    >Children (Choice | Sequence)
  15. choice            ::= '(' S? cp ( S? '|' S? cp )* S? ')'                                    >Choice ( a | b | c )
  16. cp                ::= ( NameOrPERef | choice | seq) ('?' | '*' | '+')?                    >Name, PEReference, Choice, or Sequence
  17. seq                ::= '(' S? cp ( S? ',' S? cp )* S? ')'                                    >Sequence ( a , b , c )
  18. Mixed            ::=    ('(' S? '#PCDATA' (S? '|' S? NameOrPERef)* S? ')*') | ('(' S? '#PCDATA' S? ')')    >Mixed (#PCDATA | Name | PEReference)
  19. attlistDecl$    ::=    '<!ATTLIST' S AttlistName (S AttlistText)? S? '>'                    >Attribute List Declaration (<!ATTLIST...>)
  20. AttlistName        ::= NameOrPERef                                                                >Attribute List Name
  21. AttlistText        ::= AttDef (S AttDef)*                                                    >Attribute Definitions
  22. AttDef            ::= ( ( Name S AttType S DefaultDecl ) | PEReference )                    >Attribute Definition (Name Attribute-Type Default-Declaration)
  23. AttType            ::= StringType | TokenizedType | EnumeratedType                            >Attribute-Type (String-Type | Tokenized-Type | Enumerated-Type)
  24. StringType        ::= 'CDATA'                                                                >String-Type (CDATA)
  25. TokenizedType    ::= 'IDREFS' | 'IDREF' | 'ID' | 'ENTITY' | 'ENTITIES' | 'NMTOKENS' | 'NMTOKEN' | PEReference    >Tokenized-Type (IDREFS | IDREF | ID | ENTITY | ENTITIES | NMTOKEN | NMTOKENS | PEReference)
  26. EnumeratedType    ::= NotationType | Enumeration                                            >Enumerated-Type (Notation-Type | Enumeration)
  27. NotationType    ::= 'NOTATION' S '(' S? Name (S? '|' S? Name)* S? ')'                    >Notation-Type ( NOTATION '(' Name | Name | ... ')' )
  28. Enumeration        ::= '(' S? Nmtoken (S? '|' S? Nmtoken)* S? ')'                            >Enumeration ( '(' Nmtoken | Nmtoken | ... ')' )
  29. DefaultDecl        ::= '#REQUIRED' | '#IMPLIED' | (('#FIXED' S)? attQValue)                >Default-Declaration (#REQUIRED | #IMPLIED | #FIXED "value")
  30. NameOrPERef        ::= Name | PEReference                                                    >Name or Parameter-entity Reference (%PE;)
  31. PEReference        ::= '%' Name ';'                                                        >Parameter-entity Reference (%PE;)
  32. entityDecl        ::= geDecl | peDecl                                                        >Entity Declaration (<!ENTITY...>)
  33. geDecl$            ::= '<!ENTITY' S GEName S GEDef S? '>'                                    >Entity Declaration (<!ENTITY...>)
  34. peDecl$            ::= '<!ENTITY' S PEName S PEDef S? '>'                                    >Entity Declaration (<!ENTITY...>)
  35. GEName            ::= Name                                                                >Entity Name
  36. PEName            ::= '%' S Name                                                            >Parameter-entity Name
  37. GEDef            ::= EntityValue | (externalID NDataDecl?)                                >Entity Definition (Entity-Value | External-ID NData-Declaration)
  38. PEDef            ::= EntityValue | externalID                                            >Parameter-entity Definition (Entity-Value | External-ID)
  39. externalID$        ::= (ExtIDNameSys S ExtIDTextSys) | (ExtIDNamePub S ExtIDTextPub)        >External-ID ('SYSTEM' System-Literal | 'PUBLIC' Pubid-Literal System-Literal)
  40. ExtIDNameSys    ::= 'SYSTEM'                                                            >'SYSTEM'
  41. ExtIDTextSys    ::= SystemLiteral                                                        >System-Literal
  42. ExtIDNamePub    ::= 'PUBLIC'                                                            >'PUBLIC'
  43. ExtIDTextPub    ::= PubidLiteral S SystemLiteral                                        >Pubid-Literal System-Literal
  44. NDataDecl        ::= S 'NDATA' S Name                                                    >NData-Declaration ('NDATA' Name)
  45. notationDecl$    ::= '<!NOTATION' S NotationName S NotationText S? '>'                    >Notation-Declaration (<!NOTATION...>)
  46. NotationName    ::= NameOrPERef                                                            >Notation Name
  47. NotationText    ::= externalID | PublicID                                                >Extermal-ID or Public-ID
  48. PublicID        ::= 'PUBLIC' S PubidLiteral                                                >Public-ID ('PUBLIC' Pubid-Literal)
  49. S!                ::=    (#x20 | #x09 | #x0D | #x0A)+                                        >Whitespace (Blank, Tab, CR, LF)
  50. Name            ::= (Letter | '_' | ':') (NameChar)*                                    >Name ( (Letter | '_' | ':') (Name-Character)* )
  51. NameChar        ::= Letter | Digit | '.' | '-' | '_' | ':'                                >Name-Character (Letter | Digit | '.' | '-' | '_' | ':')
  52. Nmtoken            ::= NameChar+                                                            >Nmtoken (Name-Character+)
  53. EntityValue        ::= ('"' ([^%&"] | PEReference | Reference)* '"') | ("'" ([^%&'] | PEReference | Reference)* "'")    >Quoted Entity-Value
  54. attQValue        ::=    ('"' AttValue1 '"') | ("'" AttValue2 "'")                            >Quoted Attribute Value ("value" | 'value')
  55. AttValue1        ::= ([^<&"] | Reference)*                                                >Attribute Value
  56. AttValue2        ::= ([^<&'] | Reference)*                                                >Attribute Value
  57. Reference        ::= EntityRef | CharRef                                                    >Reference (Entity-Reference | Character-Reference)
  58. conditionalSect    ::= includeSect | ignoreSect | inclignSect                                >Conditional Section
  59. includeSect        ::= '<![' S? 'INCLUDE' S? '[' extSubsetDecl ']]>'                        >Include Section
  60. ignoreSect        ::= '<![' S? 'IGNORE' S? '[' ignoreSectContents* ']]>'                    >Ignore Section
  61. inclignSect        ::= '<![' S? PEReference S? '[' ignoreSectContents* ']]>'                >Include or Ignore Section
  62. ignoreSectContents    ::= Ignore ('<![' ignoreSectContents ']]>' Ignore)*                    >Ignore Section Contents
  63. Ignore            ::= Char* / ( '<![' | ']]>' )                                            >Ignore
  64. CharRef            ::= ('&#' [0-9]+ ';') | ('&#x' [0-9a-fA-F]+ ';')                        >Character-Reference (Ù or ê)
  65. EntityRef        ::= '&' Name ';'                                                        >Entity-Reference (&Entity;)
  66. SystemLiteral    ::= ('"' [^"]* '"') | ("'" [^']* "'")                                    >System Literal
  67. PubidLiteral    ::= ('"' PubidChar* '"') | ("'" (PubidCharNoQu)* "'")                    >Pubid Literal
  68. PubidChar!        ::= #x20 | #x0D | #x0A | [a-zA-Z0-9] | [-'()+,./:=?;!*#@$_%]            >Pubid Character
  69. PubidCharNoQu!    ::= #x20 | #x0D | #x0A | [a-zA-Z0-9] | [-()+,./:=?;!*#@$_%]                >Pubid Character (no quotes)
  70. comment            ::=    '<!--' CommentText '-->'                                            >Comment (<!-- Text -->)
  71. CommentText        ::= (CharNoDash | ('-' CharNoDash))*                                    >Comment Text (may not contain '--')
  72. CharNoDash!        ::=    #x09 | #x0A | #x0D | [#x20-#x2C] | [#x2E-#xFF]                        >Character (no dash)
  73. pi$                ::= '<?' PITarget (S PIData)? '?>'                                        >Processing Instruction (<?pi...?>)
  74. PITarget        ::= Name - 'xml'                                                        >Processing Instruction Name (may not be 'xml')
  75. PIData            ::=    Char* / '?>'                                                        >Processing Instruction Data
  76. Char!            ::=    #x09 | #x0A | #x0D | [#x20-#xFF]                                    >Character
  77. Digit!            ::=    [#x30-#x39]                                                            >Digit ([0-9])
  78. Letter!            ::=    [#x41-#x5A] | [#x61-#x7A] | [#xC0-#xD6] | [#xD8-#xF6] | [#xF8-#xFF]    >Letter ([a-zA-Z], etc)
  79.